This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Streaming is the process where the content consumed by a client is sent in small pieces to it as opposed to downloading where the whole multimedia file is transferred to the client before the rendering.
Existing streaming protocols include RTP/MPEG TS/UDP and more specifically HTTP.
HTTP streaming is a technology recently advertised by Apple with its iPhone and by Microsoft with its Smoothstreaming that is gaining popularity thanks to its ability to leverage the existing Content Delivery Network (CDN) infrastructure. Moreover standardized solutions are now proposed in 3GPP and are under preparation in MPEG.
A CDN is a system of computers containing copies of data, located at various nodes of a network so as to maximize bandwidth for access to the data from clients throughout the network.
The adaptive HTTP streaming based on a prepared media content split in several segments encoded at different bit-rates, is able to offer a satisfactory quality by leveraging the existing CDN infrastructure.
This solution is very practical for making short events (sports, concerts, online training etc.) available through adaptive streaming since the CDN infrastructure can simply be rented for the duration of the event. However, for longterm deployments or when making a large number of contents available, the operating cost of a CDN infrastructure becomes significant and may simply be unaffordable.
Recently there have been several companies trying to provide a CDN aggregation service. The concept they offer is quite simple. The content to serve is provisioned to the aggregation service together with a CDN usage policy defined by the customer. The actual delivery of the content is delegated to a number of simple CDN service providers whose usage is balanced to reflect the customer's policy. Since different CDN providers have different coverage, quality and pricing, the promise of CDN aggregators is to allow the customer to load-balance the usage of multiple CDN providers and thus to control the performance and delivery costs.
In all cases however, the load-balancing occurs at the instant when the end-user connects to the service, that is, an end-user already connected to the service will not be migrated from one CDN to the other. This may not be relevant when serving a e-commerce website but is a significant limitation for streaming since adaptive HTTP streaming often relies on a persistent TCP connection. Since the load-balancing mechanism operates at client admission time, the users redirected to a good quality CDN will experience a good quality service, whereas the users redirected to a less good quality CDN will experience a bad service with no chance of switching over to a better CDN. Similarly, if at some point in time the streaming service provider's policy is to turn off a given CDN for instance to reduce the operating costs, it will be difficult to migrate the currently connected end-users. More generally, delegating the load-balancing decision to the CDN aggregator with a couple of coarse policies significantly reduces the ability of the service provider to make its service fair and consistent over time from its end-users's perspective.